﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

namespace Royaume
{
    public partial class gPopulation : System.Web.UI.Page
    {
        
        int Total;
        int vFermier;
        int vBucheron;
        int vMineur;
        int vTravailleur;
        public SqlConnection myCn;
        protected SqlCommand myCmd;
        protected SqlDataReader myDr;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["pkUser"] == null)
            {
                Response.Redirect("WebForm1.aspx");
            }
            if (!Page.IsPostBack)
            {
                getValue();
                reload();
                Total = 100 - vTravailleur - vFermier - vBucheron - vMineur;
                
            }
this.Label1.Text = "Vous pouvez ajouter " + Total + " unité(s)";
        }

        protected void update() 
        {
            vBucheron = Convert.ToInt32(this.txtBucheron.Value);
            vMineur = Convert.ToInt32(this.txtMineur.Value);
            vFermier = Convert.ToInt32(this.txtFermier.Value);
            vTravailleur = Convert.ToInt32(this.txtTravailleur.Value);
            Total = 100 - vTravailleur - vFermier - vBucheron - vMineur;

            
            this.HiddenField1.Value = Total.ToString();
            if (Total >= 0)
            {
                this.myCn = Connect.getconnectionstringG();
                this.myCn.Open();
                this.myCmd = new SqlCommand("spSetPop", this.myCn);
                this.myCmd.CommandType = CommandType.StoredProcedure;
                myCmd.Parameters.Add("@PkMembre", SqlDbType.Int).Value = Session["pkUser"];
                myCmd.Parameters.Add("@Bucheron", SqlDbType.Int).Value = vBucheron;
                myCmd.Parameters.Add("@Mineur", SqlDbType.Int).Value = vMineur;
                myCmd.Parameters.Add("@Fermier", SqlDbType.Int).Value = vFermier;
                myCmd.Parameters.Add("@Travailleur", SqlDbType.Int).Value = vTravailleur;
                myCmd.ExecuteNonQuery();
                this.myCn.Close();
                reload();
            }
        }

        protected void HiddenField1_ValueChanged(object sender, EventArgs e)
        {

        }
        private void getValue() 
        { 
            this.myCn = Connect.getconnectionstringG();
            this.myCn.Open();
            this.myCmd = new SqlCommand("spShowPop", this.myCn);
            this.myCmd.CommandType = CommandType.StoredProcedure;
            myCmd.Parameters.Add("@FkMembre", SqlDbType.Int).Value = Session["pkUser"];
            
            myDr = myCmd.ExecuteReader();
            
           while (myDr.Read()) {
                
                this.txtTravailleur.Value= myDr[0].ToString();
                this.txtFermier.Value = myDr[1].ToString();
                this.txtMineur.Value = myDr[2].ToString();
                this.txtBucheron.Value= myDr[3].ToString();
                

            }
            this.myCn.Close();/*
            this.txtTravailleur.Value = "100";
            this.txtFermier.Value = "100";
            this.txtMineur.Value = "100";
            this.txtBucheron.Value = "100";*/
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            update();
        }
        private void reload()
        {
            getValue();
            vBucheron = Convert.ToInt32(this.txtBucheron.Value);
            vMineur = Convert.ToInt32(this.txtMineur.Value);
            vFermier = Convert.ToInt32(this.txtFermier.Value);
            vTravailleur = Convert.ToInt32(this.txtTravailleur.Value);
            this.sliBucheron.Value = vBucheron;
            this.sliFermier.Value = vFermier;
            this.sliMineur.Value = vMineur;
            this.sliTravailleur.Value = vTravailleur;
            this.lblBucheron.Text = vBucheron.ToString();

            this.lblFermier.Text = vFermier.ToString();
            this.lblMineur.Text = vMineur.ToString();
            this.lblTravailleur.Text = vTravailleur.ToString();
            this.sliTravailleur.Attributes.Add("tBox", "ctl00$HolderContent$txtTravailleur");
            this.sliMineur.Attributes.Add("tBox", "ctl00$HolderContent$txtMineur");
            this.sliFermier.Attributes.Add("tBox", "ctl00$HolderContent$txtFermier");
            this.sliBucheron.Attributes.Add("tBox", "ctl00$HolderContent$txtBucheron");
        }
        }

    }
